package game.graphics.shader
{
	import engine.graphics.away3d.*;
	import engine.graphics.lighting.*;
	import engine.graphics.resources.*;
	import engine.graphics.shader.*;
	import engine.math.*;
	import flash.geom.*;
	import game.graphics.lighting.*;
	
	public class RxUVProjectShaderParameters
	{
		private var m_projMatrix:RxMatrix4x4;
		private var m_subRectMatrix:RxMatrix4x4;
		private var m_accumMatrix:RxMatrix4x4;
		private var m_subRect:Rectangle;
		private var m_zbufferEncode:RxVector4;
		private var m_zbufferDecode:RxVector4;
		private var m_lowerXZPlane:RxVector4;
		private var m_lowerXZPlaneViewDist:RxVector4;
		private var m_depthRange:RxVector4;
		private var m_colorTexture:RxGPUTexture2D;
		private var m_depthTexture:RxGPUTexture2D;
		private var m_sunLight:RxDirectionalLight;
		private var m_gbuffer:RxGBuffer;
		private var m_vsConstBuffer:RxConstantBuffer;
		private var m_fsConstBuffer:RxConstantBuffer;
		public static const MAX_COMMON_VS_CONSTS:uint = 16;
		public static const MAX_COMMON_FS_CONSTS:uint = 16;
		
		public function RxUVProjectShaderParameters()
		{
			this.m_projMatrix = new RxMatrix4x4();
			this.m_subRectMatrix = new RxMatrix4x4();
			this.m_accumMatrix = new RxMatrix4x4();
			this.m_subRect = new Rectangle(0, 0, 1, 1);
			this.m_zbufferDecode = new RxVector4(256 * (255 / 65535), 255 / 65535, 0, 0);
			this.m_zbufferEncode = new RxVector4(255 / 256, 65535 / 256, 0, 0);
			var _loc_1:Number = -2000;
			this.m_lowerXZPlane = new RxVector4(0, 1, 0, -_loc_1);
			this.m_lowerXZPlaneViewDist = new RxVector4();
			this.m_depthRange = new RxVector4();
			this.m_colorTexture = null;
			this.m_depthTexture = null;
			this.m_sunLight = null;
			this.m_gbuffer = null;
			this.m_vsConstBuffer = new RxConstantBuffer(14);
			this.m_fsConstBuffer = new RxConstantBuffer(15);
		}
		
		public function SetProjMatrix(param1:RxMatrix4x4) : void
		{
			this.m_projMatrix.Copy(param1);
			RxMatrix4x4.Mul4x4(this.m_accumMatrix, this.m_projMatrix, this.m_subRectMatrix);
		}
	}
}